--[[-- 
     * 
     *  Copyright(c) 2017,  
     *  All rights reserved.
     *
     *  文件名称  : manager.lua
     *  摘   要  :  管理器 
     * 
     *  当前本版  :  1.1   
     *  作   者  : 
     *  完成日期  :  
     *
     *  取代本版  : 
     *  原作者    :     
     *  完成日期  :
     *
--]]--



local M = {}

M.__index = M 

function M:new(args)

    local o = args or {}
    setmetatable(o,M)
    o:init()
    return o
end 

function M:init()

    self.manager = {}
end 

function M:add(key, value)

    if not key or not value  then 
        return 
    end 
    self.manager[key] = value
end 


function M:get(key)

    if key then 
        return self.manager[key]
    end     
end

function M:remove(key)

    if key then 
        self.manager[key] = nil 
    end 
end 


function M:count()

    local _count =  0;

    for _,v in pairs(self.manager) do 

        if v then 
            _count = _count + 1
        end 
    end 

    return _count
end 

function M:mgr_add(name, key, value)

    if self.manager[name] then 

        self.manager[name][key] = value
    end 
end

function M:mgr_get(name, key)

    if self.manager[name] then 

        return self.manager[name][key]
    end 
end 

function M:mgr_remove(name, key)

    if self.manager[name] then 
    
        self.manager[name][key] = nil
    end 
end 


return M




